﻿using System.Collections.Generic;
using System.Linq;

namespace MicroDb.Generate
{
    public class Column : BaseObj
    {
        public string ColumnName { get; set; }

        public string DataType { get; set; }

        public string DbType { get; set; }

        public bool HasEnum { get; set; }

        public string EnumName { get; set; }

        private string[] NameSpace;

        public override string[] GetNameSpaces()
        {
            if (NameSpace == null)
            {
                HashSet<string> hs = new HashSet<string>(base.GetNameSpaces());
                if (TryGetNameSpaces(DataType, out string nameSpace))
                {
                    DataType = DataType.Replace(nameSpace + ".", "");
                    hs.Add(nameSpace);
                }
                NameSpace = hs.ToArray();
            }
            return NameSpace;
        }
    }
}
